圖片來源:《進擊的巨人》九大巨人能力及擁有者分析 戰鎚名過其實始祖最屈
開啟檔案
基本語法
with open('filename.txt', 'mode') as file:
# 在這裡進行檔案操作
filename.txt |
要開啟的檔案名稱 |
---|---|
mode |
開啟模式 |
r |
讀取(預設) |
w |
寫入(覆蓋原有內容) |
a |
追加(在檔案末尾追加內容) |
x |
創建新檔案,若檔案已存在則報錯 |
讀取檔案
逐行讀取
with open('my_file.txt', 'r') as file:
for line in file:
print(line.strip()) # 去除行尾的換行符
一次性讀取全部內容
with open('my_file.txt', 'r') as file:
contents = file.read()
print(contents)
寫入檔案
寫入文字
with open('new_file.txt', 'w') as file:
file.write('Hello, world!\n')
file.write('This is a new line.')
寫入列表
my_list = ['apple', 'banana', 'orange']
with open('fruits.txt', 'w') as file:
for fruit in my_list:
file.write(fruit + '\n')
處理編碼
指定編碼
with open('utf8_file.txt', 'r', encoding='utf-8') as file:
# ...
常見的編碼有 UTF-8
、GBK
、Big5
其他常見操作
檢查檔案是否存在
import os
if os.path.exists('my_file.txt'):
# 檔案存在
獲取檔案大小
import os
file_size = os.path.getsize('my_file.txt')
print(file_size)
import csv
with open('data.csv', 'r') as csvfile:
reader = csv.reader(csvfile)
for row in reader:
print(row)
import json
data = {'name': 'Alice', 'age': 30}
with open('data.json', 'w') as jsonfile:
json.dump(data, jsonfile)
使用 with 語句
:自動關閉檔案,避免資源洩漏指定編碼
:處理不同編碼的文字檔案使用 csv 模組
:處理 CSV 格式的檔案使用 json 模組
:處理 JSON 格式的檔案考慮使用pandas
:對於大規模數據分析,Pandas 提供了更強大的功能上下文管理器
:自定義上下文管理器,實現更複雜的檔案操作檔案路徑
:使用 os 模組處理檔案路徑異常處理
:處理檔案操作過程中可能發生的異常Python 提供豐富的工具來處理文字檔案,選擇合適的方法可以大大提高開發效率。介紹常見的檔案操作方式,能幫助更好地掌握 Python 的檔案處理功能
圖片來源:(https://forum.gamer.com.tw/C.php?bsn=43473&snA=13340)
圖片來源:(https://www.dcard.tw/f/attack_on_titan/p/238129021)